There are a number of circumstances under which it is desirable to maintain synchrony of operations among a plurality of independently-clocked digital data processing devices in relation to, for example, information that is provided thereto by a common source. For example, systems are being developed in which one audio information source can distribute audio information in digital form to a number of audio playback devices for playback. The audio playback devices receive the digital information and convert it to analog form for playback. The audio playback devices may be located in the same room or they may be distributed in different rooms in a residence such as a house or an apartment, in different offices in an office building, or the like. For example, in a system installed in a residence, one audio playback device may be located in a living room, while another audio playback device is be located in a kitchen, and yet other audio playback devices may be located in various bedrooms of a house. In such an arrangement, the audio information that is distributed to various audio playback devices may relate to the same audio program, or the information may relate to different audio programs. If the audio information source provides audio information relating to the same audio program to two or more audio playback devices at the same time, the audio playback devices will generally contemporaneously play the same program. For example, if the audio information source provides audio information to audio playback devices located in the living room and kitchen in a house at the same time, they will generally contemporaneously play the same program.
One problem that can arise is to ensure that, if two or more audio playback devices are contemporaneously attempting to play back the same audio program, they do so simultaneously. Small differences in the audio playback devices' start times and/or playback speeds can be perceived by a listener as an echo effect, and larger differences can be very annoying. Differences can arise because for a number of reasons, including delays in the transfer of audio information over the network. Such delays can differ as among the various audio playback devices for a variety of reasons, including where they are connected into the network, message traffic and other reasons as will be apparent to those skilled in the art.
Another problem arises from the following. When an audio playback device converts the digital audio information from digital to analog form, it does so using a clock that provides timing information. Generally, the audio playback devices that are being developed have independent clocks, and, if they are not clocking at precisely the same rate, the audio playback provided by the various devices can get out of synchronization.